package main

import "sort"

// 贪心  背包问题类似
// 每次拿剩余箱子里单元数量最大的箱子

func maximumUnits(boxTypes [][]int, truckSize int) int {
	// 单元逆序
	sort.Slice(boxTypes, func(i, j int) bool {
		return boxTypes[i][1] > boxTypes[j][1]
	})
	var res int
	for _, p := range boxTypes {
		if p[0] >= truckSize {
			res += truckSize * p[1]
			break
		}
		truckSize -= p[0]
		res += p[0] * p[1]
	}
	return res
}
